package com.hjm.project.incomeInfo.service;

import java.util.List;
import java.util.concurrent.CompletableFuture;

import com.hjm.project.incomeInfo.domain.IncomeInfo;
import com.hjm.project.job.task.domain.JobTask;
import com.hjm.project.terminal.manufacturer.domain.Manufacturer;

/**
 * 收益统计Service接口
 * 
 * @author maker-platform
 * @date 2024-03-13
 */
public interface IIncomeInfoService {
    /**
     * 查询收益统计
     * 
     * @param id 收益统计ID
     * @return 收益统计
     */
    public IncomeInfo selectIncomeInfoById(Integer id);

    /**
     * 查询收益统计列表
     * 
     * @param incomeInfo 收益统计
     * @return 收益统计集合
     */
    public List<IncomeInfo> selectIncomeInfoList(IncomeInfo incomeInfo);

    /**
     * 查询收益统计列表
     *
     * @param incomeInfo 收益统计
     * @return 收益统计一个结果
     */
    public IncomeInfo selectIncomeInfoOne(IncomeInfo incomeInfo);

    /**
     * 新增收益统计
     * 
     * @param incomeInfo 收益统计
     * @return 结果
     */
    public int insertIncomeInfo(IncomeInfo incomeInfo);

    /**
     * 修改收益统计
     * 
     * @param incomeInfo 收益统计
     * @return 结果
     */
    public int updateIncomeInfo(IncomeInfo incomeInfo);


    public int deleteIncomeInfo(IncomeInfo incomeInfo);

    /**
     * 批量删除收益统计
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteIncomeInfoByIds(String ids);

    /**
     * 删除收益统计信息
     * 
     * @param id 收益统计ID
     * @return 结果
     */
    public int deleteIncomeInfoById(Integer id);

    void selectCount(String userName,String tradeDate,List<Manufacturer> manufacturers);

    public CompletableFuture<JobTask> exportBb(IncomeInfo incomeInfo);
}
